/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package logica;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 *
 * @author francisco tiapa
 */
public class ListaCategoriaXML {
         private List<CategoriaXML> laLista_c;
         private Connection conexion;
         protected final Log logger = LogFactory.getLog(getClass());

    public ListaCategoriaXML() {
       laLista_c = new ArrayList<CategoriaXML>();
    }
    // Se encarga de agregar las categorias leidas por el xml en la lista
    public boolean AgregarCategroia(CategoriaXML elUsuario)
    {
     return laLista_c.add(elUsuario);
    }
        //Este metodo muestra la lista por consola
        public void MostrarLista_c()
    {
       Iterator<CategoriaXML> elIterator = laLista_c.iterator();

     while(elIterator.hasNext()==true)
      {
       CategoriaXML laCategoria=elIterator.next();
       logger.info("Nombre: "+laCategoria.getNombre()+" Descripcion:"+laCategoria.getDescripcion()+
                       " Fecha_fin "+laCategoria.getId()+"\n");
      }
    }
       
        public void insertarCategoriaBd () throws SQLException
    {
        try {
        ConexionBD c = new ConexionBD();
        conexion = c.conectarBD();
        String query3 = "delete from categorias";
        PreparedStatement ps3 = conexion.prepareStatement(query3);
        int rs3 = ps3.executeUpdate();
        Iterator<CategoriaXML> elIterator = laLista_c.iterator();

     while(elIterator.hasNext()==true)
      {
       CategoriaXML laCategoria=elIterator.next();
       String query = "insert into categorias values(?,?,?,?,?)";
       PreparedStatement ps = conexion.prepareStatement(query);
       ps.setInt(1, laCategoria.getId());
       ps.setString(2,laCategoria.getNombre());
       ps.setString(3,laCategoria.getDescripcion());
       int rs = ps.executeUpdate();
      // conexion.close();

      }

        }
        catch (SQLException ex)
        {
            Logger.getLogger(LeerXmlInterno.class.getName()).log(Level.SEVERE, null, ex);
 
       }
        conexion.close();
}

           public List<CategoriaXML> getLaLista_c() {
        return laLista_c;
    }

    public void setLaLista_c(List<CategoriaXML> laLista_c) {
        this.laLista_c = laLista_c;
    }
}
